package main

/**
统计1-2000000的数字中的哪些是素数
传统方式，使用循环判断
优化方法，使用并发和并行的方式
“够浪” 将统计分配给多个goroutine去完成
*/

import (
	"fmt"
	"time"
)

func main() {

	start := time.Now()

	isPrime(200000) // 20w 求素数耗时 52.8860728s

	end := time.Since(start)
	fmt.Println(end)

}

func isPrime(num int) {

	for i := 1; i < num; i++ {

		var flag bool = true
		for j := 2; j < i; j++ {
			if i%j == 0 {
				flag = false
				continue
			}
		}
		if flag {
			fmt.Println("数字", i, "是素数。")
			// 传统方法不打印耗时：49.550748s
		}

	}

}
